<?php

echo '<br>Prorrogação '.date("d/m/Y")." - ".date("H:i:s").'<br>';

$dataVersao = array();
$erro = FALSE;

$nao_gerar = 0; 

$var_destino = ''; // 4,59,252 

/*
$query = 'SELECT * FROM natsbs WHERE nst_cod = '.$tisintprr_tpo_aco_aut;
$result = odbc_exec($bd_ingres, $query);
odbc_fetch_row($result);
*/

$arr_diarias = array(
    '13' => array(
        'acomodacao'    => '13',
        'tabela'        => '18',
        'procedimento'  => '60034068',
        'descricao'     => 'DIARIA COMPACTA DE APARTAMENTO STANDARD',       
    ),
    '43' => array(
        'acomodacao'    => '43',
        'tabela'        => '18',
        'procedimento'  => '60000015',
        'descricao'     => 'DIARIA COMPACTA DE APARTAMENTO COM ALOJAMENTO CONJUNTO',       
    ),
    '41' => array(
        'acomodacao'    => '41',
        'tabela'        => '18',
        'procedimento'  => '60000171',
        'descricao'     => 'DIARIA COMPACTA DE QUARTO COLETIVO DE 2 LEITOS COM BANHEIRO PRIVATIVO',       
    ),
    '33' => array(
        'acomodacao'    => '33',
        'tabela'        => '18',
        'procedimento'  => '60000635',
        'descricao'     => 'DIARIA DE  ENFERMARIA COM ALOJAMENTO CONJUNTO COM BANHEIRO PRIVATIVO',       
    ),
    '53' => array(
        'acomodacao'    => '53',
        'tabela'        => '18',
        'procedimento'  => '60000287',
        'descricao'     => 'DIARIA COMPACTA DE UTI NEONATAL',       
    ),
    '51' => array(
        'acomodacao'    => '51',
        'tabela'        => '18',
        'procedimento'  => '60000260',
        'descricao'     => 'DIARIA COMPACTA DE UTI ADULTO GERAL',       
    ),
    '52' => array(
        'acomodacao'    => '52',
        'tabela'        => '18',
        'procedimento'  => '60000309',
        'descricao'     => 'DIARIA COMPACTA DE UTI PEDIATRICA',       
    ),
    '57' => array(
        'acomodacao'    => '57',
        'tabela'        => '18',
        'procedimento'  => '60001046',
        'descricao'     => 'DIARIA DE  UTI CORONARIANA',       
    ),
);



$sql_con = "SELECT con_cod FROM con WHERE  con_sta_atv = 'A' AND con_sta_tis = 1 ";
$con_sql = odbc_exec($bd_ingres, $sql_con);
while(odbc_fetch_row($con_sql))
{
    $var_destino .= odbc_result($con_sql,'con_cod').',';
}
$var_destino .= '0';

$var_sql = "";

//$var_sql = " AND t.tisint_num in( 2152622 )";  

//AND ifnull(t.tisint_num_gui_prs,0) < 1  
// AND t.tisint_dat_emi_gui >= '01092014'
$sql_todas_guias = "SELECT t.tisint_num, t.con_cod , p.tisintprr_num, p.tisintprr_qtd_dia_sol, p.tisintprr_tpo_aco_aut, p.tisintprr_dat
                    FROM tisintprr p, tisint t 
                    WHERE p.tisint_num = t.tisint_num 
                    AND p.tisintprr_sta = 'P' 
                    AND t.tisint_sta = 'A'
                    
                    AND p.tisintprr_dat >= '01092014'
                    AND t.con_cod IN(" . $var_destino . ") 
                    AND p.tisintprr_tpo_ori = 1
                    " . $var_sql . "";  

$guia_todas = odbc_exec($bd_ingres, $sql_todas_guias);   
$count_envio = 0;
$total_envio = 15;
while(odbc_fetch_row($guia_todas) && $count_envio < $total_envio){ 
    
    
    try {
    
        $tisint_num = odbc_result($guia_todas, 'tisint_num'); 
        $tisint_con_cod = odbc_result($guia_todas, 'con_cod'); 
        $tisintprr_num = trim(odbc_result($guia_todas, 'tisintprr_num'));
        $tisintprr_qtd_dia_sol = trim(odbc_result($guia_todas, 'tisintprr_qtd_dia_sol')); 
        $tisintprr_tpo_aco_aut = (int) trim(odbc_result($guia_todas, 'tisintprr_tpo_aco_aut'));
        $tisintprr_dat = date("Y-m-d", strtotime(odbc_result($guia_todas, 'tisintprr_dat')));
        		
        if($tisint_con_cod == '4' ||  $tisint_con_cod == '59' || $tisint_con_cod == '183' || $tisint_con_cod == '190' || $tisint_con_cod == '252'){
					
			// correção tipo de acomodação
			$tisintprr_tpo_aco_aut = funcoes::correcaoTpoAcoProrrogacao($bd_ingres,$tisint_num,$tisintprr_num); 
				
            $count_envio++;
            
            $sql_hsvp = "SELECT con_cod_hsp_ope,con_cne
                               FROM con
                               WHERE con_cod=" . $tisint_con_cod . " ";
            $cabecalho = odbc_exec($bd_ingres, $sql_hsvp);
            while (odbc_fetch_row($cabecalho)) {
                $cod_hsvp = odbc_result($cabecalho, 'con_cod_hsp_ope'); 
                $destino = odbc_result($cabecalho, 'con_cne');
                $destino = substr($destino, 0, 6);
            }
            if (strlen($cod_hsvp) < 2) {
                $cod_hsvp = "92021062000106"; 
            }
            $tipoTransacao = 'SOLICITACAO_PROCEDIMENTOS';
            $dataRegistroTransacao = date("Y-m-d");
            $horaRegistroTransacao = date("h:i:s"); 
            $versaoPadrao = '3.02.00';
            $date_hora = date("hi");
            $data_date = date("dmY");//date("Y.m.d");
            $vrf_trn = rand(1, 10000);
            $CNPJ = "92021062000106";

            $insert_tistrn = "INSERT INTO tistrn(tistrn_num, fil_cod, emp_cod, con_cod, tistrn_dat, tistrn_hor, tistrn_tpo, tistrn_num_ori, tistrn_num_ori_prr, tistrn_ftp_nom, tistrn_ftp_cam, tistrn_ftp_sta) values (-1,1,1,".$tisint_con_cod.",'".$data_date."','".$date_hora."','TISINTPRR',".$tisint_num.",".$tisintprr_num.",'".$vrf_trn."','','E')";
            $result = odbc_exec($bd_ingres,$insert_tistrn);
            if($result == FALSE){
                $erro = TRUE;
                $msg = 'tisint_num: ' . $tisint_num . ' - Erro insert tistrn';
            }

            $sql_sequencialTransacao1 = "SELECT max(tistrn_num)
                                                       FROM tistrn
                                                       WHERE tistrn_num_ori = " . $tisint_num . "
                                                       AND tistrn_tpo = 'TISINTPRR'
                                                       AND tistrn_hor = '" . $date_hora . "'
                                                       AND tistrn_dat = '" . $data_date . "'
                                                       AND con_cod = " . $tisint_con_cod . "
                                                       AND tistrn_ftp_nom = '" . $vrf_trn . "' ";

            $sequencialtr = odbc_exec($bd_ingres, $sql_sequencialTransacao1);
            while (odbc_fetch_row($sequencialtr)) {
                $sequencialTransacao = odbc_result($sequencialtr, odbc_field_name($sequencialtr, 1));
            }

            if (!isset($arr_diarias[$tisintprr_tpo_aco_aut]['acomodacao'])){
                $erro = TRUE;
                $msg = 'Tipo de acomodação: ' . $tisintprr_tpo_aco_aut . ' não existe na tabela unimed!';
            }

            $dataVersao = array(); 
            $hash = '';
            $erro = FALSE; 

            $dataVersao['cabecalho']['identificacaoTransacao']['tipoTransacao'] = $tipoTransacao;
            $hash .= $tipoTransacao;

            $dataVersao['cabecalho']['identificacaoTransacao']['sequencialTransacao'] = $sequencialTransacao;
            $hash .= $sequencialTransacao;

            $dataVersao['cabecalho']['identificacaoTransacao']['dataRegistroTransacao'] = $dataRegistroTransacao;
            $hash .= $dataRegistroTransacao;

            $dataVersao['cabecalho']['identificacaoTransacao']['horaRegistroTransacao'] = $horaRegistroTransacao;
            $hash .= $horaRegistroTransacao;

            $dataVersao['cabecalho']['origem']['identificacaoPrestador']['CNPJ'] = $CNPJ;
            $hash .= $CNPJ;

            //$dataVersao['cabecalho']['origem']['identificacaoPrestador']['codigoPrestadorNaOperadora'] = $cod_hsvp;
            //$hash .= $cod_hsvp;

            $dataVersao['cabecalho']['destino']['registroANS'] = $destino;
            $hash .= $destino;

            $dataVersao['cabecalho']['versaoPadrao'] = $versaoPadrao;
            $hash .= $versaoPadrao;

            $sql_ingres_tisint = "SELECT
                    tisint_num_ans,		tisint_dat_emi_gui,		tisint_num_gui,			tisint_num_crt,
                    tisint_nom_ben,		tisint_nom_pln,			tisint_dat_vld,			tisint_num_cns,
                    tisint_cod_prf,		tisint_nom_prf,			tisint_tpo_log_prf,		tisint_nom_log_prf,
                    tisint_num_end_prf,         tisint_cpl_end_prf,		tisint_cod_ibg_prf,		tisint_nom_loc_prf,
                    tisint_cod_unf_prf,         tisint_cod_cep_prf,		tisint_cod_cns_prf,		tisint_nom_sol_prf,
                    tisint_sgl_cnl_prf,         tisint_num_cnl_prf,		tisint_cod_unf_cnl_prf,         tisint_cod_cbo_prf, 
                    tisint_cod_prs,		tisint_nom_prs,			tisint_cte_int,			tisint_tpo_int,
                    tisint_ind_cln,		tisint_rgm_int,			tisint_dat_aut,			tisint_snh,
                    tisint_vld_snh,		tisint_qtd_dia_aut,		tisint_dat_adm_hsp,		tisint_tpo_aco_aut,
                    tisint_qtd_dia_sol,         tisint_tpo_log_prs,		tisint_nom_log_prs,		tisint_num_end_prs,
                    tisint_cpl_end_prs,         tisint_cod_ibg_prs,		tisint_nom_loc_prs,		tisint_cod_unf_prs,
                    tisint_cod_cep_prs,         tisint_cod_cns_prs_aut, 	tisint_obs,                     tisint_cid_doe1,
                    tisint_cid_nom_doe1,        tisint_tpo_doe,			tisint_tmp_doe,			tisint_tpo_tmp_doe,
                    tisint_sta_acd_doe,         tisint_cid_doe2,		tisint_cid_nom_doe2,            tisint_cid_doe3,
                    tisint_cid_nom_doe3,        tisint_cid_doe4,		tisint_cid_nom_doe4,            tisint_num,
                    fil_cod,emp_cod,            tisint_num_gui_ope,             tisint_sta_opm,                 tisint_sta_qui, 
                    tisint_sta_rna,             tisint_sgl_cnl_prf,             tisint_num_cnl_prf,             tisint_cbo_cod_prf,
                    pac_cod
                FROM tisint
                WHERE  con_cod=" . $tisint_con_cod . "
                AND tisint_num=" . $tisint_num . "";
            $cnsl_int = odbc_exec($bd_ingres, $sql_ingres_tisint);
            while (odbc_fetch_row($cnsl_int)) {
                $fil_cod = trim(odbc_result($cnsl_int, 'fil_cod')); // uso
                $emp_cod = trim(odbc_result($cnsl_int, 'emp_cod')); // uso
                $tisint_num_ans = trim(odbc_result($cnsl_int, 'tisint_num_ans')); // uso 
                $tisint_dat_emi_gui = date("Y-m-d", strtotime(odbc_result($cnsl_int, 'tisint_dat_emi_gui')));
                $tisint_num_gui_ope = trim(odbc_result($cnsl_int, 'tisint_num_gui_ope'));
                $tisint_num_gui = trim(odbc_result($cnsl_int, 'tisint_num_gui')); // uso
                $tisint_num_crt = trim(odbc_result($cnsl_int, 'tisint_num_crt')); // uso
                $tisint_nom_ben = trim(odbc_result($cnsl_int, 'tisint_nom_ben')); // uso
                $tisint_dat_vld = date("Y-m-d", strtotime(odbc_result($cnsl_int, 'tisint_dat_vld'))); // uso
                $tisint_num_cns = trim(odbc_result($cnsl_int, 'tisint_num_cns')); // uso
                $identificadorBeneficiario = base64_encode($tisint_num_cns);
                $tisint_cod_prf = trim(odbc_result($cnsl_int, 'tisint_cod_prf')); // uso
                $tisint_nom_prf = trim(odbc_result($cnsl_int, 'tisint_nom_prf')); // uso
                $tisint_cod_cns_prf = trim(odbc_result($cnsl_int, 'tisint_cod_cns_prf')); // uso
                $tisint_nom_sol_prf = trim(odbc_result($cnsl_int, 'tisint_nom_sol_prf')); // uso
                $tisint_sgl_cnl_prf = trim(odbc_result($cnsl_int, 'tisint_sgl_cnl_prf')); // uso
                $tisint_num_cnl_prf = trim(odbc_result($cnsl_int, 'tisint_num_cnl_prf')); // uso
                $tisint_cod_unf_cnl_prf = trim(odbc_result($cnsl_int, 'tisint_cod_unf_cnl_prf')); // uso
                $tisint_cod_cbo_prf = trim(odbc_result($cnsl_int, 'tisint_cod_cbo_prf')); // uso
                $tisint_cbo_cod_prf = trim(odbc_result($cnsl_int, 'tisint_cbo_cod_prf')); // uso
                $tisint_cod_prs = trim(odbc_result($cnsl_int, 'tisint_cod_prs')); // uso
                $tisint_nom_prs = trim(odbc_result($cnsl_int, 'tisint_nom_prs')); // uso
                $tisint_cte_int = trim(odbc_result($cnsl_int, 'tisint_cte_int'));
                $tisint_tpo_int = trim(odbc_result($cnsl_int, 'tisint_tpo_int'));
                $tisint_ind_cln = trim(odbc_result($cnsl_int, 'tisint_ind_cln'));
                $tisint_rgm_int = trim(odbc_result($cnsl_int, 'tisint_rgm_int'));
                $CIDPrincipal_nomeTabela = 'CID-10';
                $tisint_cid_nom_doe1 = trim(odbc_result($cnsl_int, 'tisint_cid_nom_doe1'));
                $tisint_tpo_doe = trim(odbc_result($cnsl_int, 'tisint_tpo_doe'));
                $tisint_sta_acd_doe = trim(odbc_result($cnsl_int, 'tisint_sta_acd_doe'));
                $tisint_sta_opm = trim(odbc_result($cnsl_int, 'tisint_sta_opm'));
                $tisint_sta_qui = trim(odbc_result($cnsl_int, 'tisint_sta_qui'));
                $tisint_cid_doe1 = trim(str_replace(".", "", odbc_result($cnsl_int, 'tisint_cid_doe1')));
                $tisint_cid_doe2 = trim(str_replace(".", "", odbc_result($cnsl_int, 'tisint_cid_doe2')));
                $tisint_dat_adm_hsp = date("Y-m-d", strtotime(odbc_result($cnsl_int, 'tisint_dat_adm_hsp'))); // uso
                $tisint_qtd_dia_sol = trim(odbc_result($cnsl_int, 'tisint_qtd_dia_sol')); // uso
                $tisint_obs = trim(odbc_result($cnsl_int, 'tisint_obs')); // uso
                $tisint_sta_rna = trim(odbc_result($cnsl_int, 'tisint_sta_rna'));
                if(strlen($tisint_sta_rna) == 0) $tisint_sta_rna = 'N';
                $tisint_snh = trim(odbc_result($cnsl_int, 'tisint_snh'));
                $tisint_tpo_aco_aut = trim(odbc_result($cnsl_int, 'tisint_tpo_aco_aut'));
                $pac_cod = odbc_result($cnsl_int, 'pac_cod');
                
                if (strlen($tisint_num_ans) < 6)
                        $tisint_num_ans = '319384';

                if (strlen($tisint_num_crt) == 0 or (int) $tisint_num_crt < 1) {
                    $erro = TRUE;
                    $msg = 'tisint_num: ' . $tisint_num . ' Pac: '.$pac_cod . ' - Sem numero da carteira';    
                } else if (strlen($tisint_num_crt) > 1) {
                    while (strlen($tisint_num_crt) < 17)
                        $tisint_num_crt = '0' . $tisint_num_crt; // uso
                }

                $dataVersao['solicitacaoProcedimento']['solicitacaoProrrogacao']['registroANS'] = $tisint_num_ans;
                $hash .= $tisint_num_ans;


                if (strlen($tisintprr_num) == 0) {
                    $erro = TRUE;
                    $msg = 'tisint_num: ' . $tisint_num . ' Pac: '.$pac_cod . ' - Sem numero de prorrogação';
                }
                
                
                $csp_cod_tis = 0;
                $query = "SELECT csp_cod_tis FROM conprf WHERE csp_sgl like '".$tisint_sgl_cnl_prf."'"; 
                $result = odbc_exec($bd_ingres, $query);
                while (odbc_fetch_row($result)) {
                    $csp_cod_tis = (int) odbc_result($result,'csp_cod_tis');
                }
                
                $unf_cod_tis = 0;
                $query = "SELECT unf_cod_tis FROM unf WHERE unf_sig like '".$tisint_cod_unf_cnl_prf."'";
                $result = odbc_exec($bd_ingres, $query);
                while (odbc_fetch_row($result)) {
                    $unf_cod_tis = trim(odbc_result($result,'unf_cod_tis'));
                }
                
                $dataVersao['solicitacaoProcedimento']['solicitacaoProrrogacao']['numeroGuiaPrestador'] = Funcoes::setChaveProrrogacao($tisint_num, $tisintprr_num);//$tisintprr_num;
                $hash .= Funcoes::setChaveProrrogacao($tisint_num, $tisintprr_num);//$tisintprr_num;

                if (strlen($tisint_num_gui) == 0) {
                    $erro = TRUE;
                    $msg = 'tisint_num: ' . $tisint_num . ' Pac: '.$pac_cod . ' - Sem numero de guia pricipal';
                }
                
                if (strlen($tisint_num_gui) == 0) {
                    $erro = TRUE;
                    $msg = 'tisint_num: ' . $tisint_num . ' Pac: '.$pac_cod . ' - Sem numero de guia pricipal';
                }

                $dataVersao['solicitacaoProcedimento']['solicitacaoProrrogacao']['nrGuiaReferenciada'] = $tisint_snh; //$tisint_num_gui;
                $hash .= $tisint_num_gui;



                $dataVersao['solicitacaoProcedimento']['solicitacaoProrrogacao']['dadosBeneficiario']['numeroCarteira'] = $tisint_num_crt;
                $hash .= $tisint_num_crt;

                $dataVersao['solicitacaoProcedimento']['solicitacaoProrrogacao']['dadosBeneficiario']['nomeBeneficiario'] = $tisint_nom_ben;
                $hash .= $tisint_nom_ben;


                $dataVersao['solicitacaoProcedimento']['solicitacaoProrrogacao']['dadosContratadoSolicitante']['codigoPrestadorNaOperadora'] = $tisint_cod_prf;
                $hash .= $tisint_cod_prf;


                $dataVersao['solicitacaoProcedimento']['solicitacaoProrrogacao']['dadosContratadoSolicitante']['nomeContratado'] = $tisint_nom_prf;
                $hash .= $tisint_nom_prf;

                $dataVersao['solicitacaoProcedimento']['solicitacaoProrrogacao']['dadosProfissionalSolicitante']['nomeProfissional'] = $tisint_nom_sol_prf;
                $hash .= $tisint_nom_sol_prf;

                $dataVersao['solicitacaoProcedimento']['solicitacaoProrrogacao']['dadosProfissionalSolicitante']['conselhoProfissional'] = $csp_cod_tis; // $tisint_sgl_cnl_prf;
                $hash .= $csp_cod_tis; // $tisint_sgl_cnl_prf

                $dataVersao['solicitacaoProcedimento']['solicitacaoProrrogacao']['dadosProfissionalSolicitante']['numeroConselhoProfissional'] = $tisint_num_cnl_prf;
                $hash .=  $tisint_num_cnl_prf;

                $dataVersao['solicitacaoProcedimento']['solicitacaoProrrogacao']['dadosProfissionalSolicitante']['UF'] = $unf_cod_tis; //$tisint_cod_unf_cnl_prf;
                $hash .= $unf_cod_tis; //$tisint_cod_unf_cnl_prf;

                if(strlen($tisint_cbo_cod_prf) < 2) $tisint_cbo_cod_prf = '201115';
                $dataVersao['solicitacaoProcedimento']['solicitacaoProrrogacao']['dadosProfissionalSolicitante']['CBOS'] = $tisint_cbo_cod_prf; //$tisint_cod_cbo_prf;
                $hash .= $tisint_cbo_cod_prf; //$tisint_cod_cbo_prf;

                if($tisint_tpo_aco_aut == $tisintprr_tpo_aco_aut){
                    $dataVersao['solicitacaoProcedimento']['solicitacaoProrrogacao']['dadosInternacao']['qtDiariasAdicionais'] = $tisintprr_qtd_dia_sol;
                    $hash .= $tisintprr_qtd_dia_sol; 
                    
                    $dataVersao['solicitacaoProcedimento']['solicitacaoProrrogacao']['dadosInternacao']['tipoAcomodacaoSolicitada'] = $tisintprr_tpo_aco_aut;
                    $hash .=  $tisintprr_tpo_aco_aut;
                } else{
                    $dataVersao['solicitacaoProcedimento']['solicitacaoProrrogacao']['dadosInternacao']['tipoAcomodacaoSolicitada'] = $arr_diarias[$tisintprr_tpo_aco_aut]['acomodacao'];
                    $hash .=  $arr_diarias[$tisintprr_tpo_aco_aut]['acomodacao'];
                }
                
                
                
                if($tisint_tpo_aco_aut != $tisintprr_tpo_aco_aut){
                    
                    $dataVersao['solicitacaoProcedimento']['solicitacaoProrrogacao']['procedimentosAdicionais']['procedimento']['codigoTabela'] = $arr_diarias[$tisintprr_tpo_aco_aut]['tabela'];
                    $hash .= $arr_diarias[$tisintprr_tpo_aco_aut]['tabela'];
                    
                    $dataVersao['solicitacaoProcedimento']['solicitacaoProrrogacao']['procedimentosAdicionais']['procedimento']['codigoProcedimento'] = $arr_diarias[$tisintprr_tpo_aco_aut]['procedimento'];
                    $hash .= $arr_diarias[$tisintprr_tpo_aco_aut]['procedimento'];
                    
                    $dataVersao['solicitacaoProcedimento']['solicitacaoProrrogacao']['procedimentosAdicionais']['procedimento']['descricaoProcedimento'] = $arr_diarias[$tisintprr_tpo_aco_aut]['descricao'];
                    $hash .= $arr_diarias[$tisintprr_tpo_aco_aut]['descricao'];
                    
                    $dataVersao['solicitacaoProcedimento']['solicitacaoProrrogacao']['procedimentosAdicionais']['quantidadeSolicitada'] = $tisintprr_qtd_dia_sol;
                    $hash .= $tisintprr_qtd_dia_sol;
                    
                }

                if(strlen($tisint_ind_cln) == 0) $tisint_ind_cln = 'OBS';

                $dataVersao['solicitacaoProcedimento']['solicitacaoProrrogacao']['dadosInternacao']['indicacaoClinica'] = $tisint_ind_cln;
                $hash .= $tisint_ind_cln;
                
                if(strlen($tisint_obs) > 0){
                    $dataVersao['solicitacaoProcedimento']['solicitacaoProrrogacao']['observacao'] = $tisint_obs;
                    $hash .= $tisint_obs;
                }
                
                $dataVersao['solicitacaoProcedimento']['solicitacaoProrrogacao']['dataSolicitacao'] = $tisintprr_dat;
                $hash .= $tisintprr_dat;

                $dataVersao['hash'] = md5($hash);

                $xml = xml::arraytoXml($dataVersao, 'mensagemTISS');
                
                //$xml = xml::ajustaVersaoXml($xml);

                $estrutura = $funcoes->verificarDiretorios();

                $arq_xml_xml = 'arquivos/xml/'     . $estrutura . $sequencialTransacao . '.xml';
                $arq_xml_env = 'arquivos/xml_env/' . $estrutura . $sequencialTransacao . '.xml';
                $arq_xml_err = 'arquivos/xml_err/' . $estrutura . $sequencialTransacao . '.xml';
                $arq_xml_rtn = 'arquivos/xml_rtn/' . $estrutura . $sequencialTransacao . '.xml';

                $guia_nome = $arq_xml_env;//$funcoes->gerarNomeArquivo($sequencialTransacao,md5($hash)); 

                if ($erro == FALSE) {

                    file_put_contents($arq_xml_xml, $xml);

                    $xml = file_get_contents($arq_xml_xml);
                    $xml = xml::xmlToArray($xml); // CUIDADO SE TIVER UM VALOR VAZIO - VAI O VALOR O TEXTO ARRAY, DESTA FORMA OCORRE ERRO
                    $xml['hash'] = xml::hashToArray($xml);

                    @unlink($arq_xml_xml);  

                    $xml_arq = xml::arraytoXml($xml, 'mensagemTISS');
                    $xml_arq = xml::ajustaVersaoXml($xml_arq);
                    file_put_contents($arq_xml_env, $xml_arq);

                    //echo '<br>'; print_r($xml);

                    $result_xml = $clientSoap->tissSolicitacaoProcedimento($xml); 
                    //echo '<br>'; print_r($result); 

                    $xml_arq = xml::objectToArray($result_xml);
                    //print_r($xml_arq);
                    $xml_arq = xml::arraytoXml($xml_arq, 'mensagemTISS');
                    $xml_arq = xml::ajustaVersaoXml($xml_arq);
                    file_put_contents($arq_xml_rtn, $xml_arq); 

                    $update_envio_ftp="UPDATE tistrn SET tistrn_ftp_sta='E',tistrn_ftp_nom = '".$guia_nome."', tistrn_ftp_cam = '".$arq_xml_env."' WHERE tistrn_num = ".$sequencialTransacao." ";
                    $result = odbc_exec($bd_ingres, $update_envio_ftp);
                    if($result == FALSE){
                        $erro = TRUE;
                        $msg = 'tisint_num: ' . $tisint_num . ' Pac: '.$pac_cod . ' - Erro update tistrn';
                    }

                    
                    @$senha = $result_xml->autorizacaoProcedimento->autorizacaoProrrogacao->autorizacaoDosServicos->dadosAutorizacao->senha;
                    
                    $msg = $count_envio.' - Guia: '.Funcoes::setChaveProrrogacao($tisint_num, $tisintprr_num).' - Senha: '.$senha.' - Paciente: '.$pac_cod.' - Carteira: '.$tisint_num_crt.' - Senha da Internação: '.$tisint_snh.' - Data Solicitação: '.$tisintprr_dat.' - Qtd Diárias: '.$tisintprr_qtd_dia_sol.' - Tipo Acomodação: '.$tisintprr_tpo_aco_aut.' | Numero Transação: '.$sequencialTransacao;  
            
                    if($erro == FALSE) {
                        
                        // trocar status para E se senha > 0
                        if(strlen($senha) > 0){
                            
                            $result = odbc_exec($bd_ingres, "update tisintprr set tisintprr_sta='E',tisintprr_trn='".$sequencialTransacao."' WHERE tisintprr_sta='P' AND tisint_num=".$tisint_num.""); 
                            
                            $resultado = $retorno->Processamento($result_xml,'PRR');
                            
                            if($resultado == TRUE && $result != FALSE){
                                odbc_commit($bd_ingres);
                                //echo 'COMMIT<br>';
                                echo $msg .= ' - Enviado e processado retorno!<br><br>'; 
                            }
                            else{
                                odbc_rollback($bd_ingres);
                                //echo 'ROLLBACK<br>';
                                echo $msg .= ' - Enviado, erro no processo de retorno!<br><br>'; 
                                file_put_contents($arq_xml_err, $msg);
                                if(ENVIO_EMAIL) $funcoes->emailError($msg);
                            }
                          				
                        }else{
                            odbc_rollback($bd_ingres);
                            if(!isset($result_xml->situacaoAutorizacao->autorizacaoProrrogacao->autorizacaoDosServicos->statusSolicitacao)){
                                $msg = 'Erro: '.$result_xml->autorizacaoProcedimento->mensagemErro->descricaoGlosa.'<br>'.$msg;
                            }
                            echo $msg .= ' - Enviado, erro no processo de retorno!<br><br>'; 
                            file_put_contents($arq_xml_err, $msg);
                            if(ENVIO_EMAIL) $funcoes->emailError($msg);
                        }
                        
                    }else{
                        odbc_rollback($bd_ingres);
                        echo $msg .= ' - Enviado, erro no processo de retorno!<br><br>'; 
                        file_put_contents($arq_xml_err, $msg);
                        if(ENVIO_EMAIL) $funcoes->emailError($msg);
                    }

                } else {
                    odbc_rollback($bd_ingres);
                    echo $msg = '<br>Erro: Guia: '.$tisint_num.' Pac: '.$pac_cod.' - ' . $msg . '<br><br>';
                    @unlink($arq_xml);
                    file_put_contents($arq_xml_err, $msg); 
                    if(ENVIO_EMAIL) $funcoes->emailError($msg);
                }
            }
            
        }else{
            odbc_exec($bd_ingres, "update tisintprr set tisintprr_sta='E' WHERE tisintprr_sta='P' AND tisint_num = ".$tisint_num); 
            odbc_commit($bd_ingres);  
        }
        
    } catch (Exception $exc) {
        odbc_rollback($bd_ingres);
        echo $msg = '<br>Erro Acesso Webservice Unimed (Guia: '.$tisint_num.' Pac: '.$pac_cod.') - Descrição erro: '.$exc->faultstring.'<br>';
        file_put_contents($arq_xml_err, $msg);
        if(ENVIO_EMAIL) $funcoes->emailError($msg);
        break;
    }
}

odbc_close($bd_ingres);
?>